Advances in computer and telephony systems have led to the development of numerous technology-driven services, such as electronic mail (e-mail), voice mail, electronic organizers (for appointments and addresses), on-line databases (e.g., for periodicals and stock quotes), and the like. An increasing popularity for these technological services in recent years has spawned an entire industry devoted to the provision and integration of the same. For example, numerous companies now offer e-mail service over the interconnection of computers widely known as the Internet. Other companies offer systems for voice mail services in both private branch exchange (PBX) and public telephone environments. Entities which offer, supply, or otherwise provide services are referred to as “service providers.” Entities which purchase, consume, or otherwise use services are referred to as “subscribers.”
Many technological services are supported by one or more software applications. These software applications are often developed with a broad spectrum of subscribers in mind. As such, the respective technological services may address the generalized needs of many subscribers, but not the specialized needs of any one particular subscriber or group of subscribers.
With previous techniques, when a subscriber desires to alter, change, modify, or otherwise customize a service to suit his or her own specialized needs, that subscriber must contact the appropriate service provider. If the service provider deems that there is sufficient demand for such customization, the provider will initiate a modification of the supporting software application for the relevant service. Software programmers or developers must then modify the existing software application to address the specialized needs of the requesting subscriber(s), and afterwards, test the modified software to ensure that it is functioning properly. Many iterations of modification and testing may be performed before the finished, customized service is available to the subscriber.
In light of the above, it is clear that previous techniques are problematic for numerous reasons. For example, a service provider is required to maintain or otherwise employ a staff of human software developers for making modifications to supporting software applications. This can be expensive. Furthermore, a substantial amount of time may be required to develop, modify, and test supporting software applications in response to the request of a particular subscriber or group of subscribers. This can lead to subscriber dissatisfaction, and ultimately, defection to another service provider.